The present invention relates to portable electronic objects such as electronic microcircuit cards, known as smart cards. It applies more generally to any independent embedded device provided with a processing unit associated with program and data memories, and a communication module with or without contact for being connected with an electronic device comprising reading and/or writing means. Program and data memories generally comprise a memory of the read only or non-rewriteable type but which is programmable only once at the time of its manufacture, for example of the ROM (Read Only Memory) type, and a volatile memory accessible in write and read mode, for example of the RAM (Random Access Memory) type, and used for storage of temporary data during the execution of a program. Some chips also comprise a non-volatile memory, accessible both in read and write mode, for example of the EEPROM (Electrically Erasable Programmable Read Only Memory) or FLASH type.
Such devices are designed to be connected to electronic systems in order to fulfil with them particular functions in the context of one or more applications. Generally these applications (bank, communication, health) require a high level of security against fraudulent usage.
The manufacture of smart cards comprises several phases, each involving different participants. Thus the first phase concerns the creation of a chip itself, which is done by the manufacturer of the electronic component. In some cases the manufacturer also carries out an initialisation of the chip consisting in loading into the ROM memory of the chip a program for loading the utilisation program and other information, some of which are specific to each card, such as a serial number.
The following phase of manufacturing a smart card concerns the embedding of the chip. This phase is carried out by an entity called an embedder, which loads other information into the card, some also being generic, such as that permitting the creation of a system of files in the non-volatile memory, and others specific to the final use of the card (for example a module serial number).
Finally, the last manufacturing phase is carried out by an entity called a personaliser, whose role is to load into the non-volatile memory the information specific to each user (information identifying the bearer of the card, and passwords), as well as other generic information.
Generally, the tools used during each of these phases are different. Each chip manufacturer applies an initialisation method which is peculiar to him. The card embedder which loads some information in the non-volatile memory of the component uses commands, known as physical commands, which require knowledge of the physical organisation of the memory of the chip (the address of the files etc). The personalisation phase uses so-called logic commands which require knowledge of the logical organisation of the memory, for example the name of the directories and the names of the files which are stored therein.
The physical commands are very rapid and very flexible. Because of this, they are very dangerous since they are not subjected to checks. By virtue of these commands, an ill-intentioned person could for example create corrupted file structures preventing the normal functioning of the chip, whilst it is personalised, or load therein programs enabling secret information to be recovered, such as keys or access codes contained in the memories of the component.
Logic commands protect against this type of attack but are on the other hand very slow, which has an influence on the time necessary for the personalisation of the cards and therefore on the cost of the cards.
In addition, the coexistence of these two types of command requires the operating system of a chip to perform additional verification operations, which further extends the time required for producing the cards whilst not guaranteeing the integrity of the data written in the memory of the component.